/*
   Error en el if que testeaba el parametro CotizacionManual
   no entiendo porque no fallaba la funcion porque el tipo de dato era incorrecto

   y anule la parte de la leyenda de monotributos porque la fecha de aplicacion 
   de este script seguramente sera mayor que el 1 de Julio

   Ric 8/2021

*/

-- Function: public.aaloginwebparametros(character varying)

-- DROP FUNCTION public.aaloginwebparametros(character varying);

CREATE OR REPLACE FUNCTION public.aaloginwebparametros(json_sesion character varying)
  RETURNS character varying AS
$BODY$
DECLARE
  json_pedido  varchar;
  cMov         refCursor;
  vMoneda varchar;
  vFecha  varchar;
BEGIN

  /* ATENCION: Los json van entre llaves, pero para que ODBC no se queje al migrar los armamos con 
     chr(123) = llave abre
     chr(125) = llave cierra


     Funcion que se llama inmediatamente despues del login para determinar parametros para enviar a la pagina servicios_login.php
     que devolvera un json que se pasa a la funcion aaloginwebacciones para tomar accion de algo.
     recibe un json_sesion de la forma : 



        <llave abre>  codambusracc : ... , codambequ : ... , codambemp : ... , codambsuc : ...   <llave cierra>
        

     el json_pedido puede tener cualquier cosa que debera ser interpretada por la pagina servicios_login.php


         
  */
 -- Migración colada en esta función

 -- IF NOW() > '20210701' THEN
 --   UPDATE AFIP.cndivaempxcndivapad SET letra = 'A' WHERE codcndivaemp = 'I' AND codcndivapad = 'M' AND letracom = 'v' AND letra = 'B';
 -- END IF;

 --

  IF NOT (select aaversion_postgres_necesaria(9,3))THEN
     RETURN '';
  ELSE
     IF strpos((select ini from public.ambcfg),'CotizacionManual') > 0 THEN 
        RETURN '';
     ELSE
       json_pedido := chr(123) || '"ultimasCotizaciones":['; 

       OPEN cMov FOR SELECT VALMON.AFIPCOD, coalesce(TO_CHAR(MAX(VIGENCIA),'YYYYMMdd'),'20210101')
       FROM VALMON
       LEFT JOIN VALCTZ ON VALMON.COD = VALCTZ.CODVALMON
       WHERE AFIPCOD IS NOT NULL AND AFIPCOD <> 'PES' 
       GROUP BY VALMON.AFIPCOD;

       FETCH cMov INTO vMoneda, vFecha;

       LOOP
         IF NOT FOUND THEN EXIT; END IF;
         json_pedido := json_pedido || chr(123) || '"moneda":"' || vMoneda || '","fecha":"' || vFecha || '"' || chr(125) || ',';
         FETCH cMov INTO vMoneda, vFecha;
       END LOOP;
       CLOSE cMov;

       json_pedido := substr(json_pedido,1, length(json_pedido) - 1) || ']' || chr(125);
       return json_pedido;  
     END IF;
 END IF;    
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public.aaloginwebparametros(character varying)
  OWNER TO abacouser;

-- ==================================
 SELECT aaVersion('464.07','464.06');
-- ==================================